#lang racket


(require "parametric.rkt")

(provide (struct-out curve)
         curve-tangent
         curve-normal
         curve-binormal
         make-simple-curve)


(define-struct (curve parametric) ())


(define (curve-tangent)
  (λ (t)
    (error 'curve-tangent "Not implemented")))

(define (curve-normal)
  (λ (t)
    (error 'curve-normal "Not implemented")))

(define (curve-binormal)
  (λ (t)
    (error 'curve-binormal "Not implemented")))

(define (make-simple-curve object-proc domain)
  (make-curve
   object-proc
   (curve-tangent)
   (curve-normal)
   (curve-binormal)
   domain))